//package com.dlc.felear.xiaoensale.utils;
//
//import android.text.TextUtils;
//import android.util.Log;
//
//
//import com.dlc.felear.xiaoensale.constant.Constant;
//import com.dlc.felear.xiaoensale.entity.SerialInfo;
//import com.dlc.felear.xiaoensale.helper.JsonHelper;
//import com.itdlc.android.library.utils.FileUtil;
//
//import java.io.BufferedReader;
//import java.io.BufferedWriter;
//import java.io.File;
//import java.io.FileReader;
//import java.io.FileWriter;
//import java.io.IOException;
//
//public class ConfigHelper {
//    private static final String TAG = "ConfigHelper";
//    private static ConfigHelper instance;
//    private final String CONFIGNAME = "config.txt";
//    private String SerialPort1 = "";
//    private String SerialPort2 = "";
//    private String SerialPort3 = "";
//    private String SerialPort4 = "";
//    private int deviceType = -1;
//
//    public static ConfigHelper getInstance() {
//        if (instance == null) {
//            synchronized (ConfigHelper.class) {
//                if (instance == null) {
//                    instance = new ConfigHelper();
//                }
//            }
//        }
//        return instance;
//    }
//
//    private ConfigHelper() {
//        new Thread(new Runnable() {
//            @Override
//            public void run() {
//                try {
//                    FileUtil.createFilePath(Constant.APK_PATH);
//                    File file = new File(Constant.APK_PATH + CONFIGNAME);
//                    if (!file.exists()) {
//                        file.createNewFile();
//                    }
//                    readConfigFromFile(Constant.APK_PATH + CONFIGNAME);
//                    Thread.sleep(100);
//                    checkParamer();
//                } catch (Exception e) {
//                    e.getMessage();
//                }
//            }
//        }).start();
//    }
//
//
//    private void checkParamer() {
//        if (TextUtils.isEmpty(SerialPort1)) {
//            saveInfo("//读取重量或者电控箱\n");
//            SerialPort1 = "/dev/ttyS0_115200";
//            saveInfo("com1=/dev/ttyS0_115200\n");
//        }
//        if (TextUtils.isEmpty(SerialPort2)) {
//            SerialPort2 = "/dev/ttyS1_9600";
//            saveInfo("//输出IO控制串口\n");
//            saveInfo("com2=/dev/ttyS1_9600\n");
//        }
//        if (TextUtils.isEmpty(SerialPort3)) {
//            SerialPort3 = "/dev/ttysWK0_9600";
//            saveInfo("//输入IO模块串口\n");
//            saveInfo("com3=/dev/ttysWK0_9600\n");
//        }
//        if (TextUtils.isEmpty(SerialPort4)) {
//            SerialPort4 = "/dev/ttysWK3_9600";
//            saveInfo("//磁卡模块串口\n");
//            saveInfo("com4=/dev/ttysWK3_9600\n");
//        }
//        if (deviceType==-1) {
//            deviceType = 2;
//            saveInfo("//0 炒菜机器人 1 毛重 2 配菜计量台\n");
//            saveInfo("deviceType=2\n");
//        }
//
//    }
//
//
//
//
//
//
//    private void readConfigFromFile(String fileName) {
//        StringBuilder str = new StringBuilder();
//        try {
//            FileReader reader = new FileReader(fileName);
//            BufferedReader br = new BufferedReader(reader);
//            String line;
//            while ((line = br.readLine()) != null) {
////                Log.e(TAG,"line content="+line.trim());
//                if(!line.trim().contains("//")){
//                    str.append(line.trim()).append(",");
//                }
//            }
//            br.close();
//            reader.close();
//            parserString(str.toString());
//        } catch (IOException e) {
//
//        }
//    }
//
//    private void parserString(String config) {
//        Log.e(TAG,"解析配置:"+config);
//        if (TextUtils.isEmpty(config)||TextUtils.equals(config,",")) {
//            return;
//        }
//        String[] info = config.split(",");
//        for (String par : info) {
//
//            if (par.contains("com1=")) {
//                SerialPort1 = getVlaue(par);
//                Log.e(TAG,"SerialPort1="+SerialPort1);
//            }
//            if (par.contains("com2=")) {
//                SerialPort2 = getVlaue(par);
//                Log.e(TAG,"SerialPort2="+SerialPort2);
//            }
//            if (par.contains("com3=")) {
//                SerialPort3 = getVlaue(par);
//                Log.e(TAG,"SerialPort3="+SerialPort3);
//            }
//            if (par.contains("com4=")) {
//                SerialPort4 = getVlaue(par);
//                Log.e(TAG,"SerialPort4="+SerialPort4);
//            }
//
//            if (par.contains("deviceType=")) {
//                deviceType = getIntValue(par);
//                Log.e(TAG,"deviceType="+deviceType);
//            }
////            Log.e(TAG,"SerialPort1="+SerialPort1+" SerialPort2="+SerialPort2+
////                    " SerialPort3="+SerialPort3 +" SerialPort4="+SerialPort4);
//        }
//    }
//
//    private String getVlaue(String info) {
//        if (!info.contains("=")) {
//            return "";
//        }
//        return info.substring(info.indexOf("=") + 1).trim();
//    }
//
//    private int getIntValue(String info) {
//        if (!info.contains("=")) {
//            return 0;
//        }
//        try {
//            return Integer.parseInt(info.substring(info.indexOf("=") + 1).trim());
//        } catch (Exception e) {
//            Log.e(TAG,e.getMessage());
//            return 0;
//        }
//    }
//
//
//    private void saveInfo(String msg) {
//        try {
//            File file = new File(Constant.APK_PATH + CONFIGNAME);
//            if (!file.exists()) {
//                file.createNewFile();
//            }
//            FileWriter writer = new FileWriter(file, true);
//            BufferedWriter out = new BufferedWriter(writer);
//            out.write(msg);
//            out.flush();
//            out.close();
////            Log.e(TAG,"kv="+msg);
//        } catch (Exception e) {
//
//        }
//    }
//
//
//
//    public SerialInfo getSerialPort1() {
//        SerialInfo serialInfo=null;
//        try {
//            if (TextUtils.isEmpty(SerialPort1)) {
//                return new SerialInfo("/dev/ttyS1",9600);
//            }
//
//            String[] temp=SerialPort1.split("_");
//            serialInfo=new SerialInfo(temp[0],Integer.parseInt(temp[1]));
////            Log.e(TAG, "SerialPort1=" + JsonHelper.toJson(serialInfo));
//        }catch (Exception e){
//
//        }
//        return serialInfo;
//    }
//    public SerialInfo getSerialPort3() {
//        SerialInfo serialInfo=null;
//        try {
//            if (TextUtils.isEmpty(SerialPort3)) {
//                return new SerialInfo("/dev/ttysKW0",9600);
//            }
//
//            String[] temp=SerialPort3.split("_");
//            serialInfo=new SerialInfo(temp[0],Integer.parseInt(temp[1]));
////            Log.e(TAG, "SerialPort3=" + JsonHelper.toJson(serialInfo));
//        }catch (Exception e){
//
//        }
//        return serialInfo;
//    }
//    public SerialInfo getSerialPort2() {
//        SerialInfo serialInfo=null;
//        try {
//            if (TextUtils.isEmpty(SerialPort2)) {
//                return new SerialInfo("/dev/ttyS2",9600);
//            }
//
//            String[] temp=SerialPort2.split("_");
//            serialInfo=new SerialInfo(temp[0],Integer.parseInt(temp[1]));
////            Log.e(TAG, "SerialPort2=" + JsonHelper.toJson(serialInfo));
//        }catch (Exception e){
//
//        }
//        return serialInfo;
//    }
//    public SerialInfo getSerialPort4() {
//        SerialInfo serialInfo=null;
//        try {
//            if (TextUtils.isEmpty(SerialPort4)) {
//                return new SerialInfo("/dev/ttysKW2",9600);
//            }
//
//            String[] temp=SerialPort4.split("_");
//            serialInfo=new SerialInfo(temp[0],Integer.parseInt(temp[1]));
////            Log.e(TAG, "SerialPort4=" + JsonHelper.toJson(serialInfo));
//        }catch (Exception e){
//
//        }
//        return serialInfo;
//    }
//
//
//    public int getDeviceType() {
//        Log.e(TAG,"deviceType="+deviceType);
//        return deviceType == -1 ? 0 : deviceType;
//    }
//
//
//}
